home *** CD-ROM | disk | FTP | other *** search
/ 100 Plus Great Games 2 / 100PLUSV2.BIN / games / Flea.dxr / Internal_9_tableau cards.ls < prev    next >
Encoding:
Text File  |  2002-01-25  |  5.5 KB  |  179 lines

  1. property spriteNum, motion, undercard, location, row
  2. global tableau, getlist, equal, currentsel, godlist, foundation, points, stock, waste, crappo
  3.  
  4. on beginSprite me
  5.   row = determinerow()
  6.   tableau.addProp(row, new(script("card pile")))
  7.   sprite(spriteNum).member = member(stock.cards[1].rank & "_" & stock.cards[1].suit, "playing cards")
  8.   stock.cards.deleteAt(1)
  9.   tableau[row].addCard(spriteNum)
  10.   undercard = sprite(spriteNum - 9)
  11.   location = sprite(spriteNum).loc
  12. end
  13.  
  14. on mouseDown me
  15.   if tableau[row].getcardcount() > 0 then
  16.     puppetSound(3, member("pick card", "100GPak Generic SFX"))
  17.     sprite(spriteNum).locZ = spriteNum + 1000
  18.     getlist = tableau[row]
  19.     if tableau[row].getcardcount() > 1 then
  20.       undercard.member = member(tableau[row].cards[tableau[row].getcardcount() - 1].membername, "playing cards")
  21.     else
  22.       if tableau[row].getcardcount() = 1 then
  23.         undercard.member = member("empty", "playing cards")
  24.       end if
  25.     end if
  26.     motion = timeout(string(spriteNum) && "motion").new(5, #moving, me)
  27.   end if
  28. end
  29.  
  30. on moving me
  31.   if the mouseDown then
  32.     sprite(spriteNum).loc = the mouseLoc
  33.   else
  34.     if the mouseUp then
  35.       sprite(spriteNum).locZ = spriteNum
  36.       motion.forget()
  37.       abort()
  38.     end if
  39.   end if
  40. end
  41.  
  42. on mouseUp me
  43.   if equal then
  44.     puppetSound(3, member("pick card", "100GPak Generic SFX"))
  45.     sprite(currentsel).member = member(sprite(spriteNum).member.name, "playing cards")
  46.     godlist.addCard(currentsel)
  47.     sprite(spriteNum).loc = location
  48.     tableau[row].cards.deleteOne(tableau[row].getlastcard())
  49.     if tableau[row].getcardcount() > 0 then
  50.       sprite(spriteNum).member = member(tableau[row].getlastcard().membername, "playing cards")
  51.     else
  52.       if tableau[row].getcardcount() = 0 then
  53.         sprite(spriteNum).member = member("empty", "playing cards")
  54.         undercard.member = member("empty", "playing cards")
  55.       end if
  56.     end if
  57.     equal = 0
  58.     godlist = VOID
  59.     getlist = VOID
  60.     if tableau[row].getcardcount() = 0 then
  61.       if waste.cards.count > 0 then
  62.         sprite(spriteNum).member = member(waste.getlastcard().membername, "playing cards")
  63.         tableau[row].addCard(spriteNum)
  64.         waste.cards.deleteOne(waste.getlastcard())
  65.         if waste.cards.count > 0 then
  66.           sprite(12).member = member(waste.getlastcard().membername, "playing cards")
  67.         else
  68.           if waste.cards.count = 0 then
  69.             sprite(12).member = member("empty", "playing cards")
  70.             sprite(12).undercard.member = member("empty", "playing cards")
  71.           end if
  72.         end if
  73.       else
  74.         if stock.cards.count > 0 then
  75.           sprite(spriteNum).member = member(stock.cards[1].rank & "_" & stock.cards[1].suit, "playing cards")
  76.           tableau[row].addCard(spriteNum)
  77.           stock.cards.deleteAt(1)
  78.           if stock.cards.count = 0 then
  79.             if waste.cards.count = 0 then
  80.               sprite(10).member = member("empty", "playing cards")
  81.             else
  82.               sprite(10).member = member("replenish", "playing cards")
  83.             end if
  84.           end if
  85.         else
  86.           sprite(spriteNum).member = member("empty", "playing cards")
  87.         end if
  88.       end if
  89.     end if
  90.     checkwin(currentsel)
  91.     currentsel = 0
  92.   else
  93.     if not equal then
  94.       puppetSound(3, member("drop card", "100GPak Generic SFX"))
  95.       getlist = VOID
  96.       sprite(spriteNum).loc = location
  97.     end if
  98.   end if
  99. end
  100.  
  101. on vanish me
  102.   sprite(spriteNum).blend = sprite(spriteNum).blend - 10
  103.   if sprite(spriteNum).blend = 0 then
  104.     crappo.forget()
  105.     crappo = timeout("io").new(100, #reapper, me)
  106.   end if
  107. end
  108.  
  109. on reapper me
  110.   crappo.forget()
  111.   if waste.cards.count > 0 then
  112.     sprite(spriteNum).member = member(waste.getlastcard().membername, "playing cards")
  113.     tableau[row].addCard(spriteNum)
  114.     waste.cards.deleteOne(waste.getlastcard())
  115.     if waste.cards.count > 0 then
  116.       sprite(12).member = member(waste.getlastcard().membername, "playing cards")
  117.     else
  118.       if waste.cards.count = 0 then
  119.         sprite(12).member = member("empty", "playing cards")
  120.         sprite(12).undercard.member = member("empty", "playing cards")
  121.       end if
  122.     end if
  123.   else
  124.     if stock.cards.count > 0 then
  125.       sprite(spriteNum).member = member(stock.cards[1].rank & "_" & stock.cards[1].suit, "playing cards")
  126.       tableau[row].addCard(spriteNum)
  127.       stock.cards.deleteAt(1)
  128.       if stock.cards.count = 0 then
  129.         if waste.cards.count = 0 then
  130.           sprite(10).member = member("empty", "playing cards")
  131.         else
  132.           sprite(10).member = member("replenish", "playing cards")
  133.         end if
  134.       end if
  135.     else
  136.       sprite(spriteNum).member = member("empty", "playing cards")
  137.     end if
  138.   end if
  139.   sprite(spriteNum).blend = 100
  140. end
  141.  
  142. on determinerow me
  143.   if spriteNum = 22 then
  144.     return #one
  145.   else
  146.     if spriteNum = 23 then
  147.       return #two
  148.     else
  149.       if spriteNum = 24 then
  150.         return #three
  151.       else
  152.         if spriteNum = 25 then
  153.           return #four
  154.         else
  155.           if spriteNum = 26 then
  156.             return #five
  157.           else
  158.             if spriteNum = 27 then
  159.               return #six
  160.             else
  161.               if spriteNum = 28 then
  162.                 return #seven
  163.               else
  164.                 if spriteNum = 29 then
  165.                   return #eight
  166.                 else
  167.                   if spriteNum = 30 then
  168.                     return #nine
  169.                   end if
  170.                 end if
  171.               end if
  172.             end if
  173.           end if
  174.         end if
  175.       end if
  176.     end if
  177.   end if
  178. end
  179.